﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;

using DTO;
using BUS;

namespace QuanLyThuVien
{
    public partial class frmDangNhap : DevExpress.XtraEditors.XtraForm
    {
        public frmDangNhap()
        {
            InitializeComponent();

            //gán textbox tên tài khoản = khach
            txtTenTaiKhoan.Text = "...";
        }

        private void frmDangNhap_Load(object sender, EventArgs e)
        {

        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btnDangNhap_Click(object sender, EventArgs e)
        {
            //kiểm tra các textbox
            if (KiemTra() == false)
                return;

            try
            {
                //lấy thông tin từ textbox
                NhanVienDTO dto = new NhanVienDTO { TenTaiKhoan = txtTenTaiKhoan.Text.Trim(), MatKhau = txtMatKhau.Text.Trim() };
                
                //đưa xuống kiểm tra
                NhanVienBUS.DangNhap(dto);
                
                //gán lại session bằng thông tin nhân viên vừa đăng nhập
                session.tenTaiKhoan = dto.TenTaiKhoan;
                session.matKhau = dto.MatKhau;
                session.maNhanVien = dto.MaNhanVien;
                session.tenNhanVien = dto.TenNhanVien;
                session.maBoPhan = dto.MaBoPhan;
                
                //gán lại dialogresult
                this.DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                //không tồn tại nhân viên sẽ hiển thị ex
                MessageBox.Show(ex.Message, "Lỗi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private bool KiemTra()
        {
            //kiểm tra rỗng các textbox
            if (txtTenTaiKhoan.Text.Trim() == "" || txtMatKhau.Text.Trim() == "")
            {
                MessageBox.Show("Tên tài khoản và Mật khẩu không được để trống", "Lỗi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            return true;
        }

        //sau khi load form sẽ focus textbox luôn tên tài khoảng
        private void frmDangNhap_Shown(object sender, EventArgs e)
        {
            txtTenTaiKhoan.Focus();
            
            //để tránh mất thời gian đăng nhập mỗi lần test
            //txtTenTaiKhoan.Text = "admin";
            //txtMatKhau.Text = "1";
            //btnDangNhap_Click(null, null);
        }
    }
}